<?php
class Workflow_Condition_Not implements Workflow_Condition
{
/**
     * Holds the expression to negate.
     *
     * @var Workflow_Condition
     */
    protected $condition;

    /**
     * Constructs a new not condition on $condition.
     *
     * @param  Workflow_Condition $condition
     */
    public function __construct( Workflow_Condition $condition )
    {
        $this->condition = $condition;
    }

    /**
     * Evaluates this condition with the value $value and returns true if the condition holds.
     *
     * If the condition does not hold false is returned.
     *
     * @param  mixed $value
     * @return boolean true when the condition holds, false otherwise.
     * @ignore
     */
    public function evaluate( $value )
    {
        return !$this->condition->evaluate( $value );
    }

    /**
     * Returns the condition that is negated.
     *
     * @return Workflow_Condition
     * @ignore
     */
    public function getCondition()
    {
        return $this->condition;
    }
}
?>